package design2.template_method.example.networks;

/**
 * 基础社交网络类
 */
public abstract  class Network {

	String  userName;

	String password;

	public Network() {
	}

	/**
	 * 将数据发布到任何网络。
	 * @param message
	 * @return
	 */
	public boolean post(String message){
		////在发布前进行身份验证。每个网络使用不同的
		////身份验证方法。
		if(login(this.userName,this.password)){
			//发送post数据。
			boolean result=sendData(message.getBytes());
			logOut();
			return  result;
		}
		return  false;
	}

	abstract  boolean login(String userName,String password);

	abstract boolean sendData(byte[] data);

	abstract  void logOut();
}
